import { App } from 'vue'
import SvgIcon from '@/components/SvgIcon/index.vue'

const svgRequire: Record<string, any> = import.meta.glob('./svg/**.svg', { eager: true })
export default (app: App<Element>) => {
	for (const path in svgRequire) {
		if (Object.prototype.hasOwnProperty.call(svgRequire, path)) {
			app.component(path, svgRequire[path])
		}
	}

	app.component('svg-icon', SvgIcon)
}

/*
import SvgIcon from '@/components/SvgIcon'

// https://webpack.docschina.org/guides/dependency-management/#requirecontext
// 通过 require.context() 函数来创建自己的 context
// require.context(): 参数1: 要搜索的文件，参数2：是否包含子文件，参数3：文件名
const svgRequire = require.context('./svg', false, /\.svg$/)
// 此时返回一个 require 的函数，可以接受一个 request 的参数，用于 require 的导入。
// 该函数提供了三个属性，可以通过 require.keys() 获取到所有的 svg 图标
// 遍历图标，把图标作为 request 传入到 require 导入函数中，完成本地 svg 图标的导入
svgRequire.keys().forEach(svgIcon => svgRequire(svgIcon))

export default app => {
  app.component('svg-icon', SvgIcon)
}

*/
